Hi Tiku,

thank you very, very much for the posted code. Unfortunately I don't get it working correct.
For the first trials I used for reasons of simplicity a single file filter like "*.psd". To the application I am working on I added a command button:

Private Sub Command1_Click()
    Do 
       DoEvents
    Loop Until Next_Filter_Result (ETV.SelectedItem)
End Sub

I expected by clicking Command1, to see the next file, matching the filter specifications, because the requirements for this are implemented in your Function
"Next_Filter_Result(hSelection)", even expanding folders and scrolling down.

But what happens is:
After selecting an arbitrary item in the tree, a click on the command button causes the next visible item to be selected, no matter if it itself or the folder and subfolders content files matching the filter specification. A second click on the button causes an "Out of stack space"-error (run-time errror 28) and the application is terminated if running in the IDE.

Error 28 is raised by the first line of the recursion in your function (signed by me with "**"):

 ** If Next_Filter_Result(hNext) Then **
        Next_Filter_Result = True
        Exit Function
      End If


As ExplorerTreeView is applying the filter settings to 100% correctly and you are a professional coder, there must be something wrong with my loop. And I don't have any other idea on how to use the function.

Are you willing to help me again or did I stress your nerves over the limit?

In any case I wish you all the best and like to say a warm and honest THANK's A LOT for this great component. I did not count it, but I guess in the meantime it is the one or one of the core parts in most of my hobbyist-programs.

aka